Analysis of the performance of gas turbines is important for both testing of development engines and condition monitoring of operating engines. In particular, the ability to accurately and reliably identify the component or components responsible for loss of performance would be particularly beneficial. However, the nature of a gas turbine means there are inherent problems to be addressed if this is to be achieved in practice.
In common with other power plant, a gas turbine's performance can be expressed in terms of a series of performance parameters for the various components of the system. Typically, those chosen to characterise the performance of a gas turbine would be the efficiency and flow function of compressors and turbines and the discharge coefficient of nozzles. Significantly, these performance parameters are not directly measurable. They are, however, related to measurable parameters, such as spool speeds, averaged pressures and temperatures, thrust and air flows, and any loss in performance of a component will be reflected by changes in these measurable parameters (referred to hereinafter as “measurement parameters”).
Given a particular operating point, typically defined by environmental conditions and a power setting (inlet temperature and pressure, and fuel flow for example, or other such operating parameters), the relationship between measurement parameters and performance parameters can be represented, for example, in a performance simulation model describing the aerothermodynamics of the gas turbine's components. In principle this enables the performance parameters, and more importantly changes in them from respective reference values, to be calculated. In turn, it should be possible, from these calculated values, to detect a drop in the performance of one or more components and hence deduce the cause of a loss in performance.
In practice, however, it has been found difficult accurately and reliably to relate the calculated changes in performance parameters to the presence of faults in specific components, particularly when deviations from normality or baseline performance are relatively low. This is due at least in part to the non-linearity of the relationship between the measurement parameters and the performance parameters.
There are, however, a number of further obstacles to this diagnostic task. In particular, sensors used to collect the measurement parameters necessarily work in a harsh operating environment. This leads to large measurement noise and a high probability of systematic errors (i.e. biases) in the sensor suite. The same problems affect the measured operating parameters (e.g. environment and power setting parameters). To be effective a diagnostic method has to be able to account for these measurement uncertainty effects.
The term “fault” is used here and in the following to refer to deviations in performance parameters associated with the components from expected, or reference values, often referred to as base line values, as well as errors in measured values arising from measurement biases. Of particular interest is the isolation of faulty component or components in the system and quantification of the loss in performance. In this respect, the identification of faulty measurements (i.e. measurement biases) can be important because they may result in false indications of the values of associated performance parameters.
One approach to estimating the performance parameters and the operating parameters is based on the optimisation (typically the minimization) of an objective function. For example, taking a multi-component systems whose performance can be expressed in terms of a series of performance parameters, which can in turn be related to measurement parameters, the relationship between the performance and measurement parameters can be expressed asz=h(x,w)+b+vwhere:
zεRM is the measurement parameter vector and M is the number of measurement parameters;
xεRN is the performance parameter delta vector (i.e. relative variation of the performance parameters with respect to a base line or reference value) and N is the number of performance parameters;
wεRP is the operating parameter vector (i.e. the vector of actual environment and power setting parameters representing the operating condition of the system) and P is the number of operating parameters;
h( ) is a vector-valued function (which in many cases will be a non-linear function) representing the relationship between the performance parameters and the measurement parameters;
b is a measurement bias vector; and
v is a measurement noise vector.
The measured values of the environment parameters will also be liable to be affected by noise and biases, giving:u=w+bw+vwwhere:
u is the vector of measured values of the operating parameters;
bw is the vector of biases on these measured values; and
vw is the vector of noise on these measured values.
An appropriate objective function for minimisation might be:       J    ⁢          (                        x          _                ,                  w          _                    )        =            ∑              j        -        1            M        ⁢                  |                              z            1                    -                                    h              j                        ⁢                          (                                                x                  _                                ,                                  w                  _                                            )                                      |                                          z            odj                    ⁢                      (                          w              _                        )                          ·                  σ          j                    where:
zodj(w) is the value of the j-th measurement (i.e. the j-th element of the measurement parameter vector) in the ‘off design’, undeteriorated condition; and
σj is the noise standard deviation of the j-th measurement. Noise is assumed to have a Gaussian probability density function (pdf), however discrepancies from this model are likely to exist. It is for this reason that absolute values are used in the proposed objective function, rather than the more conventional use of squares, because absolute values give better robustness. The use of absolute values also provides better robustness to modelling errors, e.g. during the simulation of gas turbine performance discussed below. Where this robustness is not required, squared values can be used.
This objective function (J) is a measure of the consistency between actual measurements taken from the system, that is to say measured values of the measurement parameters (z), and calculated values of the measurement parameters, calculated by employing function h( ), which will typically be embodied in a performance simulation model.
Minimisation of the objective function (J) gives estimated values for the performance and operating parameters (x, w). A variety of techniques exist for minimisation of the objective function and need not be explained in detail here. One preferred approach is to use a Genetic Algorithm (GA), described in more depth further below. This and other optimisation techniques will generally involve multiple evaluations of the objective function before a minimum (or otherwise optimum) solution is found.
A simple comparison between estimated values of the performance parameters obtained in the above manner and the reference, or base line values for the performance parameters can then in principle reveal loss of performance and hence potential faults. However, in this approach, although reference to the standard deviation of the measurements provides some allowance for noise, no account is taken of possible measurement biases in one or more of the M measurement parameters. In practice, this basic approach does not therefore lead to satisfactory estimation of the performance parameters and consequently does not enable the accurate identification of faulty components of the system.
A modified approach, in which measurement biases are taken into account in the optimisation (e.g. minimisation) of the objective function, has been proposed in Zedda M. and Singh R., “Gas Turbine Engine and Sensor Diagnostics”, IS10/UNK010, XIV International Symposium on Air-Breathing Engines (ISABE), 5–10, Sep. 1999, Florence, Italy, and in Zedda M. and Singh R., “Gas Turbine Engine and Sensor Fault Diagnosis Using optimisation Techniques”, AIAA 99–2530, AIAA/SAE/ASME/ASEE 35th Joint Propulsion Conference and Exhibit, 20–24, Jun. 1999, Los Angeles, Calif.
Essentially this modified approach provides a method for estimating the performance of and/or detecting faults in components of a multi-component system in which a maximum number Mbias of biased measurements is selected. The objective function J(x,w) is optimised using an ‘Evolutionary’ optimisation technique involving multiple evaluations of J(x,w). Each time the objective function J(x,w) is evaluated, a plurality of possible values for the objective function is calculated, each possible value being calculated by determining the objective function with a different Mbias of the measurement parameters eliminated. The value of the minimum one of said plurality of calculated possible values is then assigned as the value of the objective function.
The Evolutionary optimisation technique proposed by Zedda and Singh uses an Evolution Program (EP) which is a modified form of a Genetic Algorithm (GA). GAs are a popular approach to solving problems involving complex, typically non-smooth, functions. In particular they lend themselves to the evaluation of multi-component systems. They can be applied to the problem of optimising, for instance minimising, the objective function J(x,w), in order to estimate values for the performance parameters x and operating parameters w based on the measured values of the measurement parameters z.
GAs are in effect search algorithms based on the mechanics of natural selection. A population of possible solutions to a problem, each represented by a string of information, is initially created. Each of these possible solutions is evaluated to determine its ‘fitness’, in effect the likelihood that it is close to the correct solution. A second generation population of possible solutions is then created based on a combination of a principal of survival of the fittest among the strings (“selection”) with a structured yet random exchange of information between the strings (“cross-over”) and alteration of information within the strings (“mutation”) with the aim of imitating some of the innovative flair of a human approach. This process is repeated for a number of generations until the population of solutions converges to (or hopefully at least towards) the correct solution.
To take the example of the objective function introduced above,             J              k        ,        l              ⁢          (                        x          _                ,                  w          _                    )        =            ∑                        j          =          1                                      j            ≠            k                    ,          l                    M        ⁢                  |                              z            1                    -                                    h              j                        ⁢                          (                                                x                  _                                ,                                  w                  _                                            )                                      |                                          z            odj                    ⁢                      (                          w              _                        )                          ·                  σ          j                    the first generation population of a GA would comprise a series of strings, each string representing one ‘guess’ at the values of the performance parameters x and operating parameters w. The objective function would then be evaluated for each string in the population and a fitness value assigned to each string on the basis of the respective value assigned to the objective function—a low value of the objective function indicates the likelihood of a better estimate of the parameters and hence a higher fitness is assigned.
A second generation of strings is then created, the fitter strings from the first generation having the better chance of surviving to the second generation through a process of selection. The strings selected for the second generation will also be subjected to cross-over and mutation. Cross-over occurs between randomly selected pairs of strings, in which for instance a random position is selected along the length of the strings and all values of the elements (i.e. the performance and/or operating parameters) in the strings after that position are swapped with one another. In mutation single strings are randomly selected and one or more elements of the selected strings are mutated, for example by the addition of a randomly generated number.
Various forms of these three operators, selection, cross-over and mutation used in EP/GAs are well known to the skilled person.
The Evolutionary optimisation technique proposed by Zedda and Singh uses a uniquely constrained form of this GA based approach to optimise the objective function. Specifically, it is proposed to assume a limit to the maximum number of fault affected components in the system, which in turn defines a maximum number of fault affected performance parameters (i.e. those parameters that define the performance of the fault affected components). This assumption is then used to constrain, in a structured way, both the initial generation of the population used in the GA and the creation of subsequent generations using the selection, cross-over and mutation operators.
More specifically, the strings in the initial population are categorised to form sub-populations which will be referred to as “fault classes”, each fault class representing one possible outcome in terms of faulty components. To take the very simple example of a three component system, and the assumption that a maximum of one component can be faulty, there would be three fault classes, one for a fault in each component. If it were assumed that a maximum of two components can be faulty, there would be three additional fault classes representing the possible combinations of faulty pairs of the three components.
In a more general example with X components, any 1 to S of which may be faulty, there will be X!/(X−1)!1! fault classes for the case where one component may be faulty, X!/(X−2)!2! fault classes for the case where 2 components may be faulty, and so on up to X!/(X−S)!S! fault classes for the case where S components may be faulty. The total number of fault classes is therefore the sum of:X!/(X−1)!1!+X!/(X−2)!2!+ . . . +X!/(X−S)!S!.
In the initial creation of the strings, the values assigned to their elements representing estimated values of the performance parameters x (preferably expressed as delta values, that is to say a percentage variation from the undeteriorated base line values) are constrained in accordance with the fault class to which the string belongs. Thus, only the performance parameters associated with the fault affected component or components of the fault class are allowed to vary from the base line values (i.e. be non-zero in the preferred case of delta values).
In the creation of subsequent generations of strings during the progress of the GA optimisation, the selection operator is allowed to operate across the whole population, so that all of the fault classes compete with one another as is desired.
On the other hand, where the cross-over operator is used it is constrained to operate on pairs of strings selected from the same fault class. In this way the fault classes do not pollute one another with inappropriate fault affected parameters, as would be the case if cross-mating occurred between fault classes.
Similarly, the mutation operator is constrained to prevent pollution of the fault classes with fault affected performance parameters not associated with the fault affected components of the class. This is achieved by constraining the mutation operator so that it does not operate on string elements representing performance parameters other than those performance parameters associated with the fault affected components within a class.
After a number of iterations, due to competitive selection across the fault classes, the populations of all bar one of the fault classes should die down or become extinguished and the remaining class with the majority population should be the “correct fault class” for the fault affected performance parameters. In this way it is possible to identify the faulty components.
The constrained approach to optimising the objective function has been shown to provide satisfactory results when the multi-component system under investigation is well instrumented. That is to say, when a relatively large number of measurement parameters can be measured from the system. A typical example of a well instrumented system would be a gas turbine in its development stage.
Problems are encountered, however, when relatively few measurement parameters are available from the system under investigation, such as for example would typically be the case in pass off tests for a gas turbine. The problem is particularly acute when the number of measurements available to evaluate the objective function, taking into account any elimination of parameters through measurement biases is fewer than the number of performance parameters and operating parameters to be estimated.
It has been proposed in the past to address this lack of data by using measurements from a plurality of operating points to extract additional data from the limited set of sensors. Such a multiple operating point analysis (MOPA) is described, for instance, in Stamatis, A., Papaliou, K. D., 1988: “Discrete operating condition gas path analysis”, AGARD Conference Preprint Nr 448, Quebec, Canada. However, the solution of a problem relying on MOPA is significantly more complex than a single operating point approach, due to the larger number of operating parameters that must be accounted for and the added level of complexity introduced to the objective function, making its optimisation difficult to achieve.
However, as described in Gulati A., Zedda M. and Singh R., “Gas Turbine engine and Sensor multiple operating point analysis using optimization techniques”, AIAA 2000-3716, AIAA/SAE/ASME/ASEZ 36th Joint Propulsion Conference and Exhibit, 17–19, Jun. 2000, Huntsville, Ala., satisfactory results have been achieved by using a MOPA approach in combination with the constrained optimisation approach set forth above.
When applying the constrained evolutionary optimisation approach of either Zedda and Singh or Gulati, Zedda and Singh, an occasional problem, however, is the dying down or extinction of the correct fault class. This is generally associated with convergence towards an “incorrect fault class”. The problem is particularly acute when the faults comprise low rates of deterioration (e.g. less than 1%) of the system's components.